# 课程管理模块 - Makefile
# ModuleB: 课程管理

CC = gcc
CFLAGS = -Wall -g -I../Include $(COMPILE_FLAGS)
AR = ar
ARFLAGS = rcs

# 源文件
SRCS = course.c
OBJS = $(SRCS:.c=.o)
TARGET = libcourse.a

# 默认目标
all: $(TARGET)

# 静态库
$(TARGET): $(OBJS)
	@echo "📦 创建课程管理静态库 $@..."
	$(AR) $(ARFLAGS) $@ $(OBJS)
	@echo "✅ 课程管理模块构建完成"

# 编译对象文件
%.o: %.c course.h
	@echo "🔨 编译课程管理模块: $<..."
	$(CC) $(CFLAGS) -c $< -o $@

# 清理
clean:
	@echo "🧹 清理课程管理模块构建文件..."
	rm -f $(OBJS) $(TARGET)
	@echo "✅ 课程管理模块清理完成"

# 测试目标
test: $(TARGET)
	@echo "🧪 编译测试程序..."
	$(CC) $(CFLAGS) -c test_course.c -o test_course.o
	$(CC) -o test_course test_course.o $(TARGET) $(LDFLAGS)
	@echo "✅ 测试程序编译完成"
	@echo "🚀 运行测试: ./test_course"

# 调试信息
debug:
	@echo "=== 课程管理模块调试信息 ==="
	@echo "编译器: $(CC)"
	@echo "编译选项: $(CFLAGS)"
	@echo "源文件: $(SRCS)"
	@echo "目标文件: $(OBJS)"
	@echo "输出库: $(TARGET)"

.PHONY: all clean test debug
